package com.witmore.neutron.ai.mcp.server.trading.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 股票财务分析报告传输对象
 * 专注于基于财务报表的股票分析
 * 
 * @author 豆子高
 * @date 2025-01-20
 */
@Data
public class StockAnalysisReportDTO {
    /**
     * 股票代码
     */
    @JsonProperty("股票代码")
    private String stockCode;
    
    /**
     * 股票名称
     */
    @JsonProperty("股票名称")
    private String stockName;
    
    /**
     * 分析时间
     */
    @JsonProperty("分析时间")
    private LocalDateTime analysisTime;
    
    /**
     * 综合财务分析
     */
    @JsonProperty("综合财务分析")
    private String financialAnalysis;
    
    /**
     * 盈利能力分析
     */
    @JsonProperty("盈利能力分析")
    private String profitabilityAnalysis;
    
    /**
     * 偿债能力分析
     */
    @JsonProperty("偿债能力分析")
    private String solvencyAnalysis;
    
    /**
     * 营运能力分析
     */
    @JsonProperty("营运能力分析")
    private String operationalAnalysis;
    
    /**
     * 成长能力分析
     */
    @JsonProperty("成长能力分析")
    private String growthAnalysis;
    
    /**
     * 现金流分析
     */
    @JsonProperty("现金流分析")
    private String cashFlowAnalysis;
    
    /**
     * 研报分析（仅作为辅助参考）
     */
    @JsonProperty("研报分析")
    private String researchAnalysis;
    
    /**
     * 风险评级（1-5级，1为最低风险，5为最高风险）
     */
    @JsonProperty("风险等级")
    private Integer riskLevel;
    
    /**
     * 风险评级说明
     */
    @JsonProperty("风险说明")
    private String riskDescription;
    
    /**
     * 投资建议（买入/持有/卖出）
     */
    @JsonProperty("投资建议")
    private String investmentRecommendation;
    
    /**
     * 投资建议理由
     */
    @JsonProperty("建议理由")
    private String recommendationReason;
    
    /**
     * 目标价格区间
     */
    @JsonProperty("目标价格区间")
    private String targetPriceRange;
    
    /**
     * 综合评分（0-100分）
     */
    @JsonProperty("综合评分")
    private Integer overallScore;
    
    /**
     * 财务数据
     */
    @JsonProperty("财务数据")
    private StockFinancialDataDTO financialData;
    
    /**
     * 相关研报列表（仅作为辅助参考）
     */
    @JsonProperty("研报列表")
    private List<StockResearchReportDTO> researchReports;
    
    /**
     * AI财务分析总结
     */
    @JsonProperty("AI分析总结")
    private String aiSummary;
}
